﻿namespace Excerise;

public class Program
{
    public static void Main(string[] args)
    {
        // 十三、综合应用
        // 图书馆系统
        // 定义一个Library类，包含一个Book类型的列表Books，用于存储图书馆的图书。
        // 为Library类添加方法AddBook(Book book)，用于添加图书；RemoveBook(Book book)，用于移除图书；DisplayBooks()，用于显示所有图书的信息。
        // 在主程序中创建一个Library对象，添加几本图书，然后显示所有图书的信息，再移除一本书，再次显示剩余图书的信息。
        System.Console.WriteLine("图书管理系统");
        var library = new Library();
        var book1 = new Book(1001, "西游记");
        var book2 = new Book(1002, "三国演义");
        library.AddBook(book1);
        library.AddBook(book2);
        library.DisplayBooks();
        library.RemoveBook(book1);
        library.DisplayBooks();
        System.Console.WriteLine("===============================================================");

        // 订单管理系统
        // 定义一个Product类，包含属性：产品名称（Name）、价格（Price）。
        // 定义一个Order类，包含属性：订单编号（OrderID）、客户姓名（CustomerName）、购买的产品列表（Products）。
        // 为Order类添加方法AddProduct(Product product)，用于添加产品；RemoveProduct(Product product)，用于移除产品；CalculateTotalPrice()，用于计算订单的总金额；DisplayOrderDetails()，用于显示订单的详细信息。
        // 在主程序中创建几个Product对象和一个Order对象，添加产品到订单中，计算总金额，并显示订单的详细信息。
        System.Console.WriteLine("订单管理系统");
        var order = new Order(1001, "张三");
        var product1 = new Product("狼蛛F87Pro", 255.00m);
        var product2 = new Product("腹灵mk870Pro", 319.00m);
        order.AddProduct(product1);
        order.AddProduct(product2);
        order.CalculateTotalPrice();
        order.DisplayOrderDetails();
        order.RemoveProduct(product1);
        order.DisplayOrderDetails();
    }
}